iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
自我挑戰組

連續30天學習C#和ASP.NET系列 第 20

Day20 - 經典小遊戲 - 終極密碼

  • 分享至 

  • xImage
  •  

動手做做看

前面介紹這麼多基本知識了,現在就來寫寫看「經典小遊戲 - 終極密碼」吧!!!

遊戲基本規則:


  1. 遊戲開始:在遊戲開始時,系統會隨機生成一個秘密數字,通常是在一個預定的數字範圍內。
  2. 玩家猜測:玩家需要根據提示進行猜測,而且玩家每次可以猜一個數字。
  3. 系統提示:每次玩家猜測完之後,系統會根據猜測給出相應的提示,讓玩家更接近答案。
  4. 猜測次數限制:玩家需要在有限的次數內猜出答案。
  5. 遊戲結束:遊戲結束的條件通常有兩種:玩家成功猜出秘密數字,或者玩家用完了所有的猜測次數而未猜中。
Random random = new Random();
int minValue = 1;
int maxValue = 100;
int secretNumber = random.Next(minValue, maxValue + 1); // maxValue + 1 為不包含,就樣會包含100
int num = 0; // 猜測的次數
int guess = 0; // 用於存儲玩家猜測的數字

Console.WriteLine("歡迎來到終極密碼遊戲!數字在" + minValue + "到" + maxValue  + "之間。");

do
{
    Console.Write("\n請猜一個" + minValue + "到" + maxValue + "之間的數字:");
    string input = Console.ReadLine(); // 讀取玩家的輸入是否為有效的數字

    if (int.TryParse(input, out guess))
    {
        if (guess < minValue || guess > maxValue)
        {
            Console.WriteLine("請輸入" + minValue + "到" + maxValue + "之間的有效數字。");
            continue;
        }

        num++; // 不論猜對、猜錯,都會累加上去

        if (guess < secretNumber)
        {
            minValue = guess;
        }
        else if (guess > secretNumber)
        {
            maxValue = guess;
        }
        else
        {
            Console.WriteLine("\n恭喜你!你猜對了,用了" + num + "次嘗試。");
        }
    }
    else
    {
        Console.WriteLine("請輸入有效的數字。");
    }

} while (guess != secretNumber);

Console.WriteLine("遊戲結束。");

💡 int.TryParse(String, Int32):將數字的字串表示轉換成它的對等 32 位元帶正負號的整數。 傳回指示轉換是否成功的值。
https://ithelp.ithome.com.tw/upload/images/20230930/20162273eBk7L5620c.jpg

執行の結果


https://ithelp.ithome.com.tw/upload/images/20230930/20162273zvwgLSXAud.jpg

※以上資料如有錯誤請多指教

參考資料

Int32.TryParse 方法


上一篇
Day19 - 設計簡單點餐系統
下一篇
Day21 - 經典小遊戲 - 1A2B
系列文
連續30天學習C#和ASP.NET30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言